<?php

namespace app\middleware;

use app\Common\Rsa2Sign;
use longbingcore\permissions\SaasAuthConfig;
use think\facade\Db;

class GetAuthConfig
{

    private $_uniacid;

    public function handle($request, \Closure $next)
    {

        if (defined('IS_WEIQIN')) {
            global $_W;
            $this->_uniacid = $_W['uniacid'];
        } else {
            do{
                $uniacid = null;

                if ($request->param('i')) {
                    $uniacid = $request->param('i');
                    break;
                }


                $header  = $request->header();
                $token   = $header['token'] ?? "";

                if(empty($token)){

                    $token   = $_GET['token'] ?? "";

                }

                $user     = getUserForToken($token);


                $uniacid = $user['uniacid'] ?? null;

            } while(false);

            $this->_uniacid = $uniacid;

        }



//        $auth = $this->getAuth() ?? [];

        $auth = SaasAuthConfig::getSAuthConfig($this->_uniacid);



        if (!$auth) {
            $auth = [];
        }

//        return true;

        //定义saas过来的数据到系统常量

        if(!empty($auth[0][0])){

            foreach ($auth as $k => $v) {

                defined($v[0]) or define($v[0], $v[1]);
            }
        }



        //默认为免费版
        $default_card = 5;
        $default_goods = 4;
        $default_timeline = 10;
        $default_message = 0;
        $default_custom_qr = 0;
        $default_copyright = 1;
        $default_mini = 2;

        defined('LONGBING_AUTH_CARD') or define("LONGBING_AUTH_CARD", $default_card); //创建名片数量 0 为不限制
        defined('LONGBING_AUTH_MINI') or define("LONGBING_AUTH_MINI", $default_mini);    //  开小程序数量 0 => 不限制
        defined('LONGBING_AUTH_GOODS') or define("LONGBING_AUTH_GOODS", $default_goods); //创建商品数量 0 为不限制
        defined('LONGBING_AUTH_TIMELINE') or define("LONGBING_AUTH_TIMELINE", $default_timeline); //创建动态数量 0 => 不限制
        defined('LONGBING_AUTH_MESSAGE') or define("LONGBING_AUTH_MESSAGE", $default_message); //聊天记录保存天数 0 => 不限制
        defined('LONGBING_AUTH_CUSTOM_QR') or define("LONGBING_AUTH_CUSTOM_QR", $default_custom_qr); //自定义码数量 0 => 不限制
        defined('LONGBING_AUTH_COPYRIGHT') or define("LONGBING_AUTH_COPYRIGHT", $default_copyright);  //修改版权信息  0 不能 1 能



        return $next($request);
    }

}
